package edu.android.proyecto.sqliteclient;

import java.util.ArrayList;

import edu.android.proyecto.beans.Producto;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;

public class ProductoDbHelper {

	private String TABLE_NAME = "TB_PRODUCTO";
	private String ID = "ID";
	private String NOMBRE = "NOMBRE";
	private String DESC = "DESC";
	private String PRECIO = "PRECIO";
	private String PATH = "PATH";
	private String CATEGORIA = "CATEGORIA";
	private String CANTIDAD = "CANTIDAD";
	
	private final Context context;
	private OpenDbHelper DBHelper;   

	public ProductoDbHelper(Context ctx)
	{ /*
	   * el contexto es el entorno de la aplicacion se lo tenemos que pasar a
	   * Helper para que SQLite sepa en que paquete guardar la BD
	   */
		this.context = ctx;
		DBHelper = new OpenDbHelper(context);
	}
	
/*	public Producto getProducto(int idPro) throws SQLException{
		// ArrayList<Ciudad> cities = new ArrayList<Ciudad>();
		SQLiteDatabase bd = DBHelper.getWritableDatabase();
		String[] columnas = new String[] { ID, NOMBRE, DESC, CANTIDAD, PATH, CATEGORIA};
		String condicion = "ID = "+idPro;
		Cursor cursor = bd.query(TABLE_NAME, columnas,condicion, null, null, null, null);
		Producto pro = null;
		if (cursor != null)
		{
			cursor.moveToFirst();
			for (int i = 0; i < cursor.getCount(); i++)
			{
				pro = new Producto();
				pro.setId(cursor.getInt(0));
				pro.setDescripcion(cursor.getString(1));
				pro.setPath(cursor.getString(2));
				cursor.moveToNext();
			}
			cursor.close();
			bd.close();
			return pro;
		}
		return null;
	}
	*/
/*	public ArrayList<Producto> getProductos() throws SQLException{
		ArrayList<Producto> productos = new ArrayList<Producto>();
		SQLiteDatabase bd = DBHelper.getWritableDatabase();		String[] columnas = new String[] { ID, NOMBRE, DESC, CANTIDAD, PATH, CATEGORIA};
		Cursor cursor = bd.query(TABLE_NAME, columnas, null, null, null, null, null);

		if (cursor != null){
			cursor.moveToFirst();

			for (int i = 0; i < cursor.getCount(); i++)
			{
				Producto pro = new Producto();
				pro.setId(cursor.getInt(0));
				pro.setDescripcion(cursor.getString(1));
				pro.setPath(cursor.getString(2));

				System.out.println(pro.getId());
				
				productos.add(pro);
				
				cursor.moveToNext();
			}

			cursor.close();
			bd.close();
			return productos;
		}
		bd.close();
		return null;
	}
*/
	public ArrayList<Producto> getProductosByCategorias(int idcat) throws SQLException{
		ArrayList<Producto> productos = new ArrayList<Producto>();
		SQLiteDatabase bd = DBHelper.getWritableDatabase();
		String condicion = "CATEGORIA = "+idcat;
		String[] columnas = new String[] { ID, NOMBRE, DESC, PRECIO, PATH, CATEGORIA, CANTIDAD};
		Cursor cursor = bd.query(TABLE_NAME, columnas, condicion, null, null, null, null);

		if (cursor != null){
			cursor.moveToFirst();

			for (int i = 0; i < cursor.getCount(); i++)
			{
				Producto pro = new Producto();
				pro.setId(cursor.getInt(0));
				pro.setNombre(cursor.getString(1));
				pro.setDescripcion(cursor.getString(2));
				pro.setPrecio(cursor.getDouble(3));
				pro.setPath(cursor.getString(4));
				pro.setCategoria(cursor.getInt(5));
				pro.setStock(cursor.getInt(6));
				
				System.out.println(pro.getId());
				
				productos.add(pro);
				
				cursor.moveToNext();
			}

			cursor.close();
			bd.close();
			return productos;
		}
		bd.close();
		return null;
	}


}
